home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / book / win / ch30 / donutmkr.js < prev    next >
Text File  |  1996-09-23  |  964b  |  36 lines

  1. function initialize( ) {
  2.     generateCrossSection( );
  3.     generateSpine( );
  4. }
  5.  
  6. function set_crossSectionRadius( csr, ts ) {
  7.     crossSectionRadius = csr;
  8.     generateCrossSection( );
  9. }
  10.  
  11. function set_spineRadius( sr, ts ) {
  12.     spineRadius = sr;
  13.     generateSpine( );
  14. }
  15.  
  16. function generateCrossSection( ) {
  17.     angle = 0.0;
  18.     delta = 6.28 / crossSectionResolution;
  19.     for ( i = 0; i <= crossSectionResolution; i++ ) {
  20.         crossSection_changed[i][0] = crossSectionRadius * Math.cos( angle );
  21.         crossSection_changed[i][1] = -crossSectionRadius * Math.sin( angle );
  22.         angle += delta;
  23.     }
  24. }
  25.  
  26. function generateSpine( ) {
  27.     angle = 0.0;
  28.     delta = 6.28 / spineResolution;
  29.     for ( i = 0; i <= spineResolution; i++ ) {
  30.         spine_changed[i][0] = spineRadius * Math.cos( angle );
  31.         spine_changed[i][1] = 0.0;
  32.         spine_changed[i][2] = -spineRadius * Math.sin( angle );
  33.         angle += delta;
  34.     }
  35. }
  36.